refactor: precompute market oracle messages - #22
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Why
Both possible oracle messages are static for a market instance. Recomputing the market ID and tagged hash during every resolution spend adds covenant work without adding validation. The canonical host compiler already owns other derived instance constants, so it can bind these messages under the same recompilation and creation-verification trust model.
The oracle protocol, signed bytes, public market parameters, and witness semantics are unchanged. This intentionally changes the undeployed market-v1 CMR and all eight scripts. The canonical golden CMR is now
702f5d04f15bcdec3fa1070540bf2f68c0ecdcf40bc8aa8024e1e77ef19cd5ee.Validation
nix develop .#default --command just ciNeed help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.